'''
5.1 题干
创建一个全局变量和两个子线程，主线程需要等待两个子 线程执行完成。
线程1: 执行1000000次循环，每循环一次就把全局变量加 1;
线程2: 执行1000000次循环，每循环一次就把全局变量减 1;
主线程待两个子进程执行完成后，就打印全局变量的值
'''
import threading


g_num = 0


def funcA():
    global g_num
    with lock:
        for i in range(10000000):
            g_num += 1


def funcB():
    global g_num
    with lock:
        for i in range(10000000):
            g_num += 1


if __name__ == '__main__':
    lock = threading.Lock()
    a = threading.Thread(target=funcA)
    b = threading.Thread(target=funcB)
    a.start()
    b.start()
    a.join()
    b.join()
    print(g_num)